package com.huawei.controller;

import com.alibaba.fastjson.JSON;

import com.huawei.entity.User;
import com.huawei.service.UserService;
import com.huawei.util.Result;
import com.huawei.util.TokenUtil;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @ClassName UserController
 * @Description TODO
 * @Author 马效鹏
 * @Date 2021/11/27 21:06
 */
@Controller
@RequestMapping("/User")

public class UserController {
    @Resource
    UserService userImpl;
    @RequestMapping(value = "/chaxun", produces = "application/json;charset=UTF-8")
    @ResponseBody
    public String chaxun(@RequestParam(value = "name", required = false) String name,
                         @RequestParam(value = "mobile", required = false) String mobile,
                         @RequestParam("page") int page,
                         @RequestParam("limit") int limit) {
        Map<String, Object> pars = new HashMap<>();
        pars.put("name", name);
        pars.put("mobile", mobile);
        pars.put("offset", (page-1)*limit);
        pars.put("limit", limit);

        List<User> list = userImpl.selectAll(pars);
        int count = userImpl.count(pars);
        Result result = new Result(0, "查询成功", count, list);
        return JSON.toJSONString(result);

    }

    @RequestMapping(value = "/add", produces = "application/json;charset=UTF-8")
    @ResponseBody
    public String add(User user) {

        int n = userImpl.add(user);
        if (n == 1) {
            return "添加成功";
        } else {
            return "添加失败";
        }

    }

    @RequestMapping(value = "/update", produces = "application/json;charset=UTF-8")
    @ResponseBody
    public String update(User user) {

        int n = userImpl.update(user);
        if (n == 1) {
            return "修改成功";
        } else {
            return "修改失败";
        }

    }
    @RequestMapping(value = "/delete", produces = "application/json;charset=UTF-8")
    @ResponseBody
    public String delete(int id){
        int n= userImpl.delete(id);
        if (n == 1) {
            return "删除成功";
        } else {
            return "删除失败";
        }
    }

    @RequestMapping(value = "/denglu", produces = "application/json;charset=UTF-8")
    @ResponseBody
    public String denglu(@RequestParam Integer id,
            @RequestParam String name,
                         @RequestParam String password
                        ) {


      String token = userImpl.denglu(id,name,password);
      if(token!=null){
          Result result = new Result(0, "登录成功", 0, token);
          return JSON.toJSONString(result);
      }else {
          Result result = new Result(0, "登录失败", 0, null);
          return JSON.toJSONString(result);

      }
    }

}
